package com.xwltz.rbac.domain;

import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xwltz.database.domain.BaseEntity;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * @description 人员表 bs_member
 * @information on version 1.0 be created by @xwltz at 2022-06-17 11:09
 */

@Data
@Accessors(chain = true)
@TableName("bs_member")
@ApiModel("人员表")
public class MemberEntity extends BaseEntity {

	/**
	 * 人员编号 id;
	 */
	@TableId
	@NotNull(message = "[人员编号]不能为空")
	@ApiModelProperty("人员编号")
	private Long id;

	/**
	 * 部门编号 departmentId;
	 */
	@ApiModelProperty("部门编号")
	private Long departmentId;

	/**
	 * 微信OPENID openId;
	 */
	@Size(max = 255, message = "编码长度不能超过255")
	@ApiModelProperty("微信OPENID")
	private String openId;

	/**
	 * 账号 userName;
	 */
	@Size(max = 255, message = "编码长度不能超过255")
	@ApiModelProperty("账号")
	private String userName;

	/**
	 * 密码 password;
	 */
	@Size(max = 255, message = "编码长度不能超过255")
	@ApiModelProperty("密码")
	private String password;

	/**
	 * 盐加密 salt;
	 */
	@Size(max = 255, message = "编码长度不能超过255")
	@ApiModelProperty("盐加密")
	private String salt;

	/**
	 * 用户类型（0系统用户 1注册用户） type;
	 */
	@ApiModelProperty("用户类型（0系统用户 1注册用户）")
	private Integer type;

	/**
	 * 岗位编号 postId;
	 */
	@ApiModelProperty("岗位编号")
	private Long postId;

	/**
	 * 手机号码 phoneNumber;
	 */
	@Size(max = 255, message = "编码长度不能超过255")
	@ApiModelProperty("手机号码")
	private String phoneNumber;

	/**
	 * 真实姓名 actualName;
	 */
	@Size(max = 255, message = "编码长度不能超过255")
	@ApiModelProperty("真实姓名")
	private String actualName;

	/**
	 * 昵称 nickName;
	 */
	@Size(max = 255, message = "编码长度不能超过255")
	@ApiModelProperty("昵称")
	private String nickName;

	/**
	 * 性别 gender;
	 */
	@ApiModelProperty("性别")
	private Integer gender;

	/**
	 * 头像 avatar;
	 */
	@Size(max = 255, message = "编码长度不能超过255")
	@ApiModelProperty("头像")
	private String avatar;

	/**
	 * 当前登录状态：1登录 2登出 loginStatus;
	 */
	@ApiModelProperty("当前登录状态：1登录 2登出")
	private Integer loginStatus;

	/**
	 * 最后一次登录设备类型：1苹果 2安卓 3WAP站 4PC站 5后台添加 loginDevice;
	 */
	@ApiModelProperty("最后一次登录设备类型：1苹果 2安卓 3WAP站 4PC站 5后台添加")
	private Integer loginDevice;

	/**
	 * 最后一次登录IP loginIp;
	 */
	@Size(max = 255, message = "编码长度不能超过255")
	@ApiModelProperty("最后一次登录IP")
	private String loginIp;

	/**
	 * 最后一次登录时间 loginTime;
	 */
	@ApiModelProperty("最后一次登录时间")
	private LocalDateTime loginTime;

	/**
	 * 最后一次登录地区 loginRegion;
	 */
	@Size(max = 255, message = "编码长度不能超过255")
	@ApiModelProperty("最后一次登录地区")
	private String loginRegion;

	/**
	 * 登录总次数 loginCount;
	 */
	@ApiModelProperty("登录总次数")
	private Integer loginCount;

	/**
	 * 密码最后更新时间 pwdUpdateDate;
	 */
	@ApiModelProperty("密码最后更新时间")
	private LocalDateTime pwdUpdateDate;


}
